package com.xydtech.ecard.ecard.mapper;

import com.xydtech.ecard.ecard.domain.EcardApiPersonArea;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片个人网格区域信息Mapper接口
 *
 * @author yuzhiguo
 * @date 2024-08-27 上午9:37
 */
public interface EcardApiPersonAreaMapper {

    /**
     * 根据网格名称查询网格信息列表
     *
     * @param areaName
     * @param deptId
     * @return
     */
    List<EcardApiPersonArea> selectPersonAreaByAreaName(@Param("areaName") String areaName, @Param("deptId") Long deptId);

    /**
     * 查询电子名片个人网格区域信息
     * @param id
     * @return
     */
    EcardApiPersonArea selectEcardPersonAreaById(Long id);

    /**
     * 电子名片-保存个人网格区域信息
     * @param ecardApiPersonArea
     * @return
     */
    int addPersonAreaInfo(EcardApiPersonArea ecardApiPersonArea);

    /**
     * 条件查询个人网格区域信息列表接口
     * @param ecardApiPersonArea
     * @return
     */
    List<EcardApiPersonArea> getPersonAreaInfoList(EcardApiPersonArea ecardApiPersonArea);

    /**
     * 查询个人网格区域信息地图坐标列表接口
     *
     * @param creatorId
     * @param deptId
     * @return
     */
    List<EcardApiPersonArea> getPersonAreaCoordinateList(@Param("creatorId") Long creatorId, @Param("deptId") Long deptId);

    /**
     * 根据法人机构ID查询机构下所有网格区域信息坐标信息列表
     *
     * @param deptId
     * @return
     */
    List<EcardApiPersonArea> getAllPersonAreaCoordinateList(@Param("creatorId") Long creatorId, @Param("deptId") Long deptId);

    /**
     * 更新网格信息的管户人id和机构id
     * @param id
     * @param creatorId
     * @param deptId
     * @return
     */
    int updatePersonAreaUserId(@Param("id") Long id, @Param("creatorId") Long creatorId, @Param("deptId") Long deptId);

    /**
     * 根据ID修改网格信息状态
     * @param id
     * @return
     */
    int changePersonAreaStatus(Long id);
}
